Everything You Need To Know About Big Data: From Architectural Principles To Best Practices